Duomenų bazėje "bpc112" yra įkeltos tris lentelės: "nusikaltimai" - lentelėje saugomi duomenys apie skambučius pagalbos centro numeriu 112 už 2022 metus; "nmpp_school" - lentelėje saugomi duomenys apie mokymosi pasiekimus vaikų pagal savivaldybes; "population" - gyventojų skaičius pagal savivaldybes.
import pandas as pd
import sqlalchemy
import numpy as np
import os
import mysql.connector
mydb = mysql.connector.connect(host="127.0.0.1", port="3306", user="root", password="12345",auth_plugin='mysql_native_password')
DF_nusikaltimai = pd.read_sql('Select * from bpc112.nusikaltimai', con=mydb)
DF_nusikaltimai.set_index('ID', inplace=True)
DF_nusikaltimai
C:\Temp\ipykernel_11972\2977233138.py:1: UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy. DF_nusikaltimai = pd.read_sql('Select * from bpc112.nusikaltimai', con=mydb)
Years | month | county | nusikalstamu_veiku_skaicius_100 | nusikalstamu_veiku_skaicius_100_sunkus | nusikalstamos_veikos | nusikaltimai | nusizengimai | sunkus_nusikaltimai | |
---|---|---|---|---|---|---|---|---|---|
ID | |||||||||
0 | 2023 | Sausis - Rugpjūtis | Respublika | 1103 | 58 | 47661 | 37814 | 6547 | 1757 |
1 | 2023 | Sausis - Liepa | Respublika | 956 | 53 | 41493 | 33065 | 5433 | 1611 |
2 | 2023 | Sausis - Birželis | Respublika | 816 | 47 | 35597 | 28405 | 4468 | 1421 |
3 | 2023 | Sausis - Gegužė | Respublika | 687 | 42 | 29752 | 24780 | 3364 | 1266 |
4 | 2023 | Sausis - Balandis | Respublika | 549 | 34 | 23712 | 20103 | 2473 | 1004 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
483 | 2023 | Sausis - Gegužė | Jonavos rajonas | 943 | 36 | 678 | 448 | 77 | 15 |
484 | 2023 | Sausis - Balandis | Jonavos rajonas | 790 | 27 | 584 | 382 | 58 | 11 |
485 | 2023 | Sausis - Kovas | Jonavos rajonas | 614 | 29 | 468 | 292 | 46 | 12 |
486 | 2023 | Sausis - Vasaris | Jonavos rajonas | 398 | 10 | 324 | 193 | 28 | 4 |
487 | 2023 | Sausis - Sausis | Jonavos rajonas | 172 | 5 | 175 | 88 | 13 | 2 |
488 rows × 9 columns
DF_nusikaltimai[DF_nusikaltimai['county']=='Jonavos rajonas'].describe()
Years | nusikalstamu_veiku_skaicius_100 | nusikalstamu_veiku_skaicius_100_sunkus | nusikalstamos_veikos | nusikaltimai | nusizengimai | sunkus_nusikaltimai | |
---|---|---|---|---|---|---|---|
count | 8.0 | 8.000000 | 8.00000 | 8.00000 | 8.000000 | 8.000000 | 8.000000 |
mean | 2023.0 | 858.125000 | 35.50000 | 630.87500 | 403.625000 | 71.625000 | 15.875000 |
std | 0.0 | 457.654092 | 22.35429 | 305.52037 | 206.795232 | 43.964068 | 10.960155 |
min | 2023.0 | 172.000000 | 5.00000 | 175.00000 | 88.000000 | 13.000000 | 2.000000 |
25% | 2023.0 | 560.000000 | 22.75000 | 432.00000 | 267.250000 | 41.500000 | 9.250000 |
50% | 2023.0 | 866.500000 | 32.50000 | 631.00000 | 415.000000 | 67.500000 | 13.500000 |
75% | 2023.0 | 1160.250000 | 52.75000 | 839.00000 | 544.000000 | 98.750000 | 24.000000 |
max | 2023.0 | 1499.000000 | 68.00000 | 1066.00000 | 684.000000 | 138.000000 | 33.000000 |
DF_nusikaltimai = DF_nusikaltimai.loc[:,['Years', 'county', 'nusikalstamu_veiku_skaicius_100',
'nusikalstamu_veiku_skaicius_100_sunkus',
'nusikalstamos_veikos', 'nusikaltimai', 'nusizengimai',
'sunkus_nusikaltimai']]
DF_nusikaltimai
Years | county | nusikalstamu_veiku_skaicius_100 | nusikalstamu_veiku_skaicius_100_sunkus | nusikalstamos_veikos | nusikaltimai | nusizengimai | sunkus_nusikaltimai | |
---|---|---|---|---|---|---|---|---|
ID | ||||||||
0 | 2023 | Respublika | 1103 | 58 | 47661 | 37814 | 6547 | 1757 |
1 | 2023 | Respublika | 956 | 53 | 41493 | 33065 | 5433 | 1611 |
2 | 2023 | Respublika | 816 | 47 | 35597 | 28405 | 4468 | 1421 |
3 | 2023 | Respublika | 687 | 42 | 29752 | 24780 | 3364 | 1266 |
4 | 2023 | Respublika | 549 | 34 | 23712 | 20103 | 2473 | 1004 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
483 | 2023 | Jonavos rajonas | 943 | 36 | 678 | 448 | 77 | 15 |
484 | 2023 | Jonavos rajonas | 790 | 27 | 584 | 382 | 58 | 11 |
485 | 2023 | Jonavos rajonas | 614 | 29 | 468 | 292 | 46 | 12 |
486 | 2023 | Jonavos rajonas | 398 | 10 | 324 | 193 | 28 | 4 |
487 | 2023 | Jonavos rajonas | 172 | 5 | 175 | 88 | 13 | 2 |
488 rows × 8 columns
DF_mokslai = pd.read_sql('Select * from bpc112.nmpp_school', con=mydb)
DF_mokslai.set_index('ID', inplace=True)
DF_mokslai.head()
C:\Temp\ipykernel_11972\2027751768.py:1: UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy. DF_mokslai = pd.read_sql('Select * from bpc112.nmpp_school', con=mydb)
PAS_Years | PAS_county_id | PAS_county_name | PAS_languages | PAS_sex | PAS_age | PAS_class_id | PAS_gain_id | PAS_gain_type | PAS_level | PAS_points | PAS_count | begin_year | end_year | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ID | ||||||||||||||
0 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 41 | Rašymo testo 1 dalis (teksto turinys) | Nepakankamai pasirengęs tolesniam mokymuisi | 407.668 | 1 | 2017 | 2018 |
1 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 43 | Rašymo testo 1 dalis (raštingumas ir kalbinė r... | Nepakankamai pasirengęs tolesniam mokymuisi | 353.478 | 1 | 2017 | 2018 |
2 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 47 | Rašymo testo 2 dalis (raštingumas) | Nepakankamai pasirengęs tolesniam mokymuisi | 501.043 | 1 | 2017 | 2018 |
3 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 503 | Rašymas (1 dalis - teksto kūrimas, taškai) | Nepakankamai pasirengęs tolesniam mokymuisi | 381.288 | 1 | 2017 | 2018 |
4 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 31 | Matematika (geometrija, matai ir matavimai) | Pasirengęs tolesniam mokymuisi | 536.517 | 2 | 2017 | 2018 |
DF_mokslai.groupby(['PAS_level','PAS_gain_type'])['PAS_points'].min()
PAS_level PAS_gain_type - Gamtos mokslai (taškai) 0 Gimtoji kalba (lenkų). Skaitymas 13 Gimtoji kalba (rusų).Skaitymas 29 Lietuvių kalba ir literatūra. Skaitymas 16 Matematika 10 ... Patenkinamas Socialiniai mokslai (taškai) 292.234 Socialiniai mokslai (tyrimas ir interpretavimas) 233.11 Socialiniai mokslai (visuomenės pažinimas) 220.656 Socialiniai mokslai: aukštesnieji mąstymo gebėjimai 220.661 Socialiniai mokslai: taikymai 249.453 Name: PAS_points, Length: 337, dtype: object
DF_mokslai.groupby(['PAS_level'])['PAS_points'].max()
PAS_level - 9 Aukštesnysis 774.799 Didelė rizika (grėsmė) tolesniam mokymuisi ?28.68 Nepakankamai pasirengęs tolesniam mokymuisi 628.284 Nepasiektas patenkinamas 9 Pagrindinis 727.6 Pasirengęs tolesniam mokymuisi 666.032 Patenkinamas 9 Name: PAS_points, dtype: object
DF_mokslai.groupby(['PAS_level'])['PAS_points'].min()
PAS_level - 0 Aukštesnysis 24 Didelė rizika (grėsmė) tolesniam mokymuisi 107.894 Nepakankamai pasirengęs tolesniam mokymuisi 107.894 Nepasiektas patenkinamas 0 Pagrindinis 10 Pasirengęs tolesniam mokymuisi 198.159 Patenkinamas 10 Name: PAS_points, dtype: object
def mokslo_lygis(lygis):
lygis_id = -1
if lygis == 'Aukštesnysis':
lygis_id = 10
elif lygis == 'Pagrindinis':
lygis_id = 9
elif lygis == 'Patenkinamas':
lygis_id = 8
elif lygis == 'Pasirengęs tolesniam mokymuisi':
lygis_id = 7
elif lygis == 'Nepasiektas patenkinamas':
lygis_id = 6
elif lygis == 'Nepakankamai pasirengęs tolesniam mokymuisi':
lygis_id = 5
else:
lygis_id = 4
return lygis_id
DF_mokslai['level'] = DF_mokslai['PAS_level'].apply(mokslo_lygis)
DF_mokslai.head()
PAS_Years | PAS_county_id | PAS_county_name | PAS_languages | PAS_sex | PAS_age | PAS_class_id | PAS_gain_id | PAS_gain_type | PAS_level | PAS_points | PAS_count | begin_year | end_year | level | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ID | |||||||||||||||
0 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 41 | Rašymo testo 1 dalis (teksto turinys) | Nepakankamai pasirengęs tolesniam mokymuisi | 407.668 | 1 | 2017 | 2018 | 5 |
1 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 43 | Rašymo testo 1 dalis (raštingumas ir kalbinė r... | Nepakankamai pasirengęs tolesniam mokymuisi | 353.478 | 1 | 2017 | 2018 | 5 |
2 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 47 | Rašymo testo 2 dalis (raštingumas) | Nepakankamai pasirengęs tolesniam mokymuisi | 501.043 | 1 | 2017 | 2018 | 5 |
3 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 503 | Rašymas (1 dalis - teksto kūrimas, taškai) | Nepakankamai pasirengęs tolesniam mokymuisi | 381.288 | 1 | 2017 | 2018 | 5 |
4 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 31 | Matematika (geometrija, matai ir matavimai) | Pasirengęs tolesniam mokymuisi | 536.517 | 2 | 2017 | 2018 | 7 |
DF_mokslai[DF_mokslai['PAS_level'] == 'Aukštesnysis'].sort_values(by='PAS_points')
PAS_Years | PAS_county_id | PAS_county_name | PAS_languages | PAS_sex | PAS_age | PAS_class_id | PAS_gain_id | PAS_gain_type | PAS_level | PAS_points | PAS_count | begin_year | end_year | level | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ID | |||||||||||||||
916252 | 2022-2023 | 127 | Kretingos r. sav. | lietuvių | Mergaitės | 10 | 4 | 637 | Skaitymas | Aukštesnysis | 24 | 1 | 2022 | 2023 | 10 |
929760 | 2022-2023 | 146 | Šilutės r. sav. | lietuvių | Mergaitės | 10 | 4 | 637 | Skaitymas | Aukštesnysis | 24 | 2 | 2022 | 2023 | 10 |
929822 | 2022-2023 | 539 | Širvintų r. sav. | lietuvių | Mergaitės | 10 | 4 | 637 | Skaitymas | Aukštesnysis | 24 | 1 | 2022 | 2023 | 10 |
908086 | 2022-2023 | 2 | Alytaus m. sav. | lietuvių | Mergaitės | 10 | 4 | 637 | Skaitymas | Aukštesnysis | 24 | 1 | 2022 | 2023 | 10 |
918187 | 2022-2023 | 359 | Mažeikių r. sav. | lietuvių | Berniukai | 10 | 4 | 637 | Skaitymas | Aukštesnysis | 24 | 1 | 2022 | 2023 | 10 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
340147 | 2017-2018 | 114 | Palangos m. sav. | lietuvių | Mergaitės | 14 | 8 | 513 | Matematika (taškai) | Aukštesnysis | 774.799 | 1 | 2017 | 2018 | 10 |
142746 | 2017-2018 | 43 | Kauno m. sav. | lietuvių | Mergaitės | 14 | 8 | 513 | Matematika (taškai) | Aukštesnysis | 774.799 | 5 | 2017 | 2018 | 10 |
565717 | 2017-2018 | 381 | Telšių r. sav. | lietuvių | Mergaitės | 14 | 8 | 513 | Matematika (taškai) | Aukštesnysis | 774.799 | 1 | 2017 | 2018 | 10 |
670191 | 2017-2018 | 461 | Vilniaus m. sav. | lietuvių | Berniukai | 13 | 8 | 513 | Matematika (taškai) | Aukštesnysis | 774.799 | 2 | 2017 | 2018 | 10 |
674600 | 2017-2018 | 461 | Vilniaus m. sav. | lietuvių | Berniukai | 14 | 8 | 513 | Matematika (taškai) | Aukštesnysis | 774.799 | 10 | 2017 | 2018 | 10 |
158049 rows × 15 columns
DF_nusikaltimai.reset_index(inplace=True)
def change_county_name(text):
if text.find('rajonas') >=0:
new_name = text.replace('rajonas','r. sav.')
elif text.find('savivaldybė') >=0:
new_name = text.replace('savivaldybė','r. sav.')
else:
new_name = text.replace('miestas','m. sav.')
return new_name
DF_nusikaltimai['new_county'] = DF_nusikaltimai['county'].apply(change_county_name)
DF_nusikaltimai.head()
ID | Years | county | nusikalstamu_veiku_skaicius_100 | nusikalstamu_veiku_skaicius_100_sunkus | nusikalstamos_veikos | nusikaltimai | nusizengimai | sunkus_nusikaltimai | new_county | |
---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 2023 | Respublika | 1103 | 58 | 47661 | 37814 | 6547 | 1757 | Respublika |
1 | 1 | 2023 | Respublika | 956 | 53 | 41493 | 33065 | 5433 | 1611 | Respublika |
2 | 2 | 2023 | Respublika | 816 | 47 | 35597 | 28405 | 4468 | 1421 | Respublika |
3 | 3 | 2023 | Respublika | 687 | 42 | 29752 | 24780 | 3364 | 1266 | Respublika |
4 | 4 | 2023 | Respublika | 549 | 34 | 23712 | 20103 | 2473 | 1004 | Respublika |
ID | Years | county | nusikalstamu_veiku_skaicius_100 | nusikalstamu_veiku_skaicius_100_sunkus | nusikalstamos_veikos | nusikaltimai | nusizengimai | sunkus_nusikaltimai | new_county |
---|
DF_nusikaltimai
ID | Years | county | nusikalstamu_veiku_skaicius_100 | nusikalstamu_veiku_skaicius_100_sunkus | nusikalstamos_veikos | nusikaltimai | nusizengimai | sunkus_nusikaltimai | |
---|---|---|---|---|---|---|---|---|---|
0 | 0 | 2023 | Respublika | 1103 | 58 | 47661 | 37814 | 6547 | 1757 |
1 | 1 | 2023 | Respublika | 956 | 53 | 41493 | 33065 | 5433 | 1611 |
2 | 2 | 2023 | Respublika | 816 | 47 | 35597 | 28405 | 4468 | 1421 |
3 | 3 | 2023 | Respublika | 687 | 42 | 29752 | 24780 | 3364 | 1266 |
4 | 4 | 2023 | Respublika | 549 | 34 | 23712 | 20103 | 2473 | 1004 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
483 | 483 | 2023 | Jonavos rajonas | 943 | 36 | 678 | 448 | 77 | 15 |
484 | 484 | 2023 | Jonavos rajonas | 790 | 27 | 584 | 382 | 58 | 11 |
485 | 485 | 2023 | Jonavos rajonas | 614 | 29 | 468 | 292 | 46 | 12 |
486 | 486 | 2023 | Jonavos rajonas | 398 | 10 | 324 | 193 | 28 | 4 |
487 | 487 | 2023 | Jonavos rajonas | 172 | 5 | 175 | 88 | 13 | 2 |
488 rows × 9 columns
DF_mokslai.loc[:,['PAS_county_name','PAS_county_id']].drop_duplicates()
PAS_county_name | PAS_county_id | |
---|---|---|
ID | ||
0 | Akmenės r. sav. | 260 |
5920 | Alytaus m. sav. | 2 |
19609 | Alytaus r. sav. | 4 |
26667 | Anykščių r. sav. | 393 |
34529 | Birštono sav. | 42 |
38250 | Biržų r. sav. | 206 |
44854 | Druskininkų sav. | 3 |
51761 | Elektrėnų sav. | 1191 |
59118 | Ignalinos r. sav. | 413 |
64583 | Jonavos r. sav. | 44 |
78717 | Joniškio r. sav. | 267 |
87086 | Jurbarko r. sav. | 346 |
98624 | Kaišiadorių r. sav. | 53 |
108485 | Kalvarijos sav. | 1192 |
113296 | Kauno m. sav. | 43 |
153770 | Kauno r. sav. | 63 |
177462 | Kazlų Rūdos sav. | 1193 |
183261 | Kėdainių r. sav. | 215 |
197853 | Kelmės r. sav. | 278 |
209454 | Klaipėdos m. sav. | 112 |
238042 | Klaipėdos r. sav. | 115 |
254444 | Kretingos r. sav. | 127 |
268245 | Kupiškio r. sav. | 228 |
274595 | Lazdijų r. sav. | 27 |
281413 | Marijampolės sav. | 162 |
296830 | Mažeikių r. sav. | 359 |
311690 | Molėtų r. sav. | 426 |
319998 | Neringos sav. | 113 |
320744 | Pagėgių sav. | 1196 |
321351 | Pakruojo r. sav. | 289 |
334053 | Palangos m. sav. | 114 |
337463 | Panevėžio m. sav. | 205 |
355192 | Panevėžio r. sav. | 235 |
365778 | Pasvalio r. sav. | 247 |
376647 | Plungės r. sav. | 367 |
386503 | Prienų r. sav. | 86 |
397128 | Radviliškio r. sav. | 298 |
409224 | Raseinių r. sav. | 98 |
418349 | Rietavo sav. | 1197 |
422267 | Rokiškio r. sav. | 438 |
433641 | Šakių r. sav. | 187 |
447093 | Šalčininkų r. sav. | 513 |
464487 | Šiaulių m. sav. | 259 |
482708 | Šiaulių r. sav. | 311 |
495186 | Šilalės r. sav. | 332 |
506978 | Šilutės r. sav. | 146 |
519818 | Širvintų r. sav. | 539 |
527386 | Skuodo r. sav. | 136 |
535047 | Švenčionių r. sav. | 526 |
544825 | Tauragės r. sav. | 323 |
556202 | Telšių r. sav. | 381 |
568892 | Trakų r. sav. | 487 |
581349 | Ukmergės r. sav. | 501 |
593773 | Utenos r. sav. | 449 |
604583 | Varėnos r. sav. | 16 |
613217 | Vilkaviškio r. sav. | 163 |
624562 | Vilniaus m. sav. | 461 |
708505 | Vilniaus r. sav. | 462 |
747651 | Visagino sav. | 459 |
756844 | Zarasų r. sav. | 403 |
df_n = DF_nusikaltimai.loc[:,['new_county']].drop_duplicates()
df_n.to_csv('sav.csv')
def find_full_name(text):
if not (text.find('r. sav.') >=0 or text.find('m. sav.')>=0):
print(text)
DF_nusikaltimai['new_county'].apply(find_full_name)
Respublika Respublika Respublika Respublika Respublika Respublika Respublika Respublika Marijampolės PK Marijampolės PK Marijampolės PK Marijampolės PK Marijampolės PK Marijampolės PK Marijampolės PK Marijampolės PK Neringa Neringa Neringa Neringa Neringa Neringa Neringa Neringa Palanga Palanga Palanga Palanga Palanga Palanga Palanga Palanga Birštonas Birštonas Birštonas Birštonas Birštonas Birštonas Birštonas Birštonas Visaginas Visaginas Visaginas Visaginas Visaginas Visaginas Visaginas Visaginas Druskininkai Druskininkai Druskininkai Druskininkai Druskininkai Druskininkai Druskininkai Druskininkai Elektrėnai Elektrėnai Elektrėnai Elektrėnai Elektrėnai Elektrėnai Elektrėnai Elektrėnai
0 None 1 None 2 None 3 None 4 None ... 483 None 484 None 485 None 486 None 487 None Name: new_county, Length: 488, dtype: object
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Birštonas', "new_county"] = "Birštono r. sav."
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Druskininkai', "new_county"] = "Druskininkų r. sav."
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Marijampolės PK', "new_county"] = "Marijampolės r. sav."
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Neringa', "new_county"] = "Neringos r. sav."
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Palanga', "new_county"] = "Palangos r. sav."
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Visaginas', "new_county"] = "Visagino r. sav."
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Elektrėnai', "new_county"] = "Elektrėnų r. sav."
DF_nusikaltimai[DF_nusikaltimai['new_county'] == 'Birštono r. sav.']
ID | Years | county | nusikalstamu_veiku_skaicius_100 | nusikalstamu_veiku_skaicius_100_sunkus | nusikalstamos_veikos | nusikaltimai | nusizengimai | sunkus_nusikaltimai | new_county | |
---|---|---|---|---|---|---|---|---|---|---|
272 | 272 | 2023 | Birštonas | 775 | 48 | 80 | 44 | 6 | 2 | Birštono r. sav. |
273 | 273 | 2023 | Birštonas | 654 | 48 | 70 | 37 | 5 | 2 | Birštono r. sav. |
274 | 274 | 2023 | Birštonas | 412 | 24 | 60 | 20 | 5 | 1 | Birštono r. sav. |
275 | 275 | 2023 | Birštonas | 242 | 24 | 32 | 13 | 1 | 1 | Birštono r. sav. |
276 | 276 | 2023 | Birštonas | 145 | 24 | 28 | 9 | 0 | 1 | Birštono r. sav. |
277 | 277 | 2023 | Birštonas | 121 | 24 | 32 | 8 | 0 | 1 | Birštono r. sav. |
278 | 278 | 2023 | Birštonas | 97 | 24 | 57 | 7 | 1 | 1 | Birštono r. sav. |
279 | 279 | 2023 | Birštonas | 24 | 24 | 53 | 1 | 0 | 1 | Birštono r. sav. |
def find_full_name(text):
if not (text.find('r. sav.') >=0 or text.find('m. sav.')>=0):
print(text)
DF_nusikaltimai['new_county'].apply(find_full_name)
Respublika Respublika Respublika Respublika Respublika Respublika Respublika Respublika
0 None 1 None 2 None 3 None 4 None ... 483 None 484 None 485 None 486 None 487 None Name: new_county, Length: 488, dtype: object
def change_county_name(text):
if text.find('rajonas') >=0:
new_name = text.replace('rajonas','r. sav.')
elif text.find('savivaldybė') >=0:
new_name = text.replace('savivaldybė','r. sav.')
elif text.find('miestas') >=0:
new_name = text.replace('miestas','m. sav.')
else: new_name = text
if not (new_name.find('r. sav.') >=0 or new_name.find('m. sav.')>=0):
new_name = new_name.replace('sav.','r. sav.')
return new_name
DF_mokslai['PAS_county_name'] = DF_mokslai['PAS_county_name'].apply(change_county_name)
DF_mokslai['PAS_county_name'].apply(find_full_name)
ID 0 None 1 None 2 None 3 None 4 None ... 935114 None 935115 None 935116 None 935117 None 935118 None Name: PAS_county_name, Length: 935119, dtype: object
DF_nusikaltimai.rename(columns={'new_county':'County_name'}, inplace=True)
DF_mokslai.rename(columns={'PAS_county_name':'County_name'}, inplace=True)
DF_mokslai
PAS_Years | PAS_county_id | County_name | PAS_languages | PAS_sex | PAS_age | PAS_class_id | PAS_gain_id | PAS_gain_type | PAS_level | PAS_points | PAS_count | begin_year | end_year | level | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ID | |||||||||||||||
0 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 41 | Rašymo testo 1 dalis (teksto turinys) | Nepakankamai pasirengęs tolesniam mokymuisi | 407.668 | 1 | 2017 | 2018 | 5 |
1 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 43 | Rašymo testo 1 dalis (raštingumas ir kalbinė r... | Nepakankamai pasirengęs tolesniam mokymuisi | 353.478 | 1 | 2017 | 2018 | 5 |
2 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 47 | Rašymo testo 2 dalis (raštingumas) | Nepakankamai pasirengęs tolesniam mokymuisi | 501.043 | 1 | 2017 | 2018 | 5 |
3 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 503 | Rašymas (1 dalis - teksto kūrimas, taškai) | Nepakankamai pasirengęs tolesniam mokymuisi | 381.288 | 1 | 2017 | 2018 | 5 |
4 | 2017-2018 | 260 | Akmenės r. sav. | lietuvių | Berniukai | 7 | 2 | 31 | Matematika (geometrija, matai ir matavimai) | Pasirengęs tolesniam mokymuisi | 536.517 | 2 | 2017 | 2018 | 7 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
935114 | 2022-2023 | 403 | Zarasų r. sav. | lietuvių | Mergaitės | 14 | 8 | 638 | Matematika | Pagrindinis | 36 | 1 | 2022 | 2023 | 9 |
935115 | 2022-2023 | 403 | Zarasų r. sav. | lietuvių | Mergaitės | 14 | 8 | 639 | Lietuvių kalba ir literatūra. Skaitymas | Pagrindinis | 26 | 4 | 2022 | 2023 | 9 |
935116 | 2022-2023 | 403 | Zarasų r. sav. | lietuvių | Mergaitės | 14 | 8 | 639 | Lietuvių kalba ir literatūra. Skaitymas | Pagrindinis | 29 | 1 | 2022 | 2023 | 9 |
935117 | 2022-2023 | 403 | Zarasų r. sav. | lietuvių | Berniukai | 14 | 8 | 638 | Matematika | Patenkinamas | 16 | 4 | 2022 | 2023 | 8 |
935118 | 2022-2023 | 403 | Zarasų r. sav. | lietuvių | Berniukai | 15 | 8 | 638 | Matematika | - | 41 | 1 | 2022 | 2023 | 4 |
935119 rows × 15 columns
engine = sqlalchemy.create_engine('mysql://root:12345@localhost/bpc112')
%load_ext sql
%sql mysql://root:12345@localhost/bpc112
DF_mokslai.to_sql("nmpp", engine, if_exists="replace", index=False)
DF_nusikaltimai.to_sql("nusikaltimu_statistika", engine, if_exists="replace", index=False)
488
%%sql
ALTER TABLE bpc112.nmpp
CHANGE COLUMN PAS_Years PAS_Years VARCHAR(50),
CHANGE COLUMN PAS_county_id PAS_county_id int,
CHANGE COLUMN County_name County_name VARCHAR(255),
CHANGE COLUMN PAS_languages PAS_languages VARCHAR(50),
CHANGE COLUMN PAS_sex PAS_sex VARCHAR(50),
CHANGE COLUMN PAS_age PAS_age tinyint,
CHANGE COLUMN PAS_class_id PAS_class_id tinyint,
CHANGE COLUMN PAS_gain_id PAS_gain_id int,
CHANGE COLUMN PAS_gain_type PAS_gain_type VARCHAR(255),
CHANGE COLUMN PAS_level PAS_level VARCHAR(255),
CHANGE COLUMN PAS_count PAS_count int,
CHANGE COLUMN begin_year begin_year int,
CHANGE COLUMN end_year end_year int,
CHANGE COLUMN level level int,
CHANGE COLUMN ID ID int not NULL
%%sql
ALTER TABLE nusikaltimu_statistika
ADD PRIMARY KEY (ID)
%%sql
ALTER TABLE bpc112.nusikaltimai
CHANGE COLUMN Years Years int,
CHANGE COLUMN County_name County_name VARCHAR(150),
CHANGE COLUMN county county VARCHAR(150),
CHANGE COLUMN nusikalstamu_veiku_skaicius_100 nusikalstamu_veiku_skaicius_100 int,
CHANGE COLUMN nusikalstamu_veiku_skaicius_100_sunkus nusikalstamu_veiku_skaicius_100_sunkus int,
CHANGE COLUMN nusikalstamos_veikos nusikalstamos_veikos int,
CHANGE COLUMN nusikaltimai nusikaltimai int,
CHANGE COLUMN nusizengimai nusizengimai int,
CHANGE COLUMN sunkus_nusikaltimai sunkus_nusikaltimai int,
CHANGE COLUMN ID ID int not NULL
%%sql
Create view nusikaltimai AS
Select * From nusikaltimu_statistika